fstats_doe_models Module

DOE model fitting and evaluation.



Interfaces

public interface doe_evaluate_model

  • private function doe_evaluate_model_1(nway, beta, x, map) result(rst)

    Evaluates the model of the following form.

    The first line of terms (through the squared terms) is included for a two-way model, and the remaining terms are added for a three-way model.
    Each unique combination of factors appears exactly once. For example, with two factors, a two-way model is:

    The coefficients are ordered as: constant, main effects, cross terms (i < j, lexicographic), squared terms, and (three-way only) triple cross terms (i < j < k), X_i**2 * X_j terms (i, then j, with i /= j), and cubed terms.

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: nway

    The number of interaction levels. Currently, this algorithm supports a maximum of three-way interaction.

    real(kind=real64), intent(in), dimension(:) :: beta

    The model coefficients.

    real(kind=real64), intent(in), dimension(:,:) :: x

    The M-by-N matrix containing the M values of each of the N factors at which to evaluate the model.

    logical, intent(in), optional, target, dimension(:) :: map

    An optional array of the same size as beta that can be used to eliminate a parameter from the model (false), or keep a parameter in the model (true). If not supplied, all parameters will be assumed to be part of the model as if the array were filled with all true values.

    Return Value real(kind=real64), allocatable, dimension(:)

    The resulting M-element array.

  • private function doe_evaluate_model_2(mdl, x) result(rst)

    Evaluates the model of the following form.

    The first line of terms (through the squared terms) is included for a two-way model, and the remaining terms are added for a three-way model.
    Each unique combination of factors appears exactly once. For example, with two factors, a two-way model is:

    The coefficients are ordered as: constant, main effects, cross terms (i < j, lexicographic), squared terms, and (three-way only) triple cross terms (i < j < k), X_i**2 * X_j terms (i, then j, with i /= j), and cubed terms.

    Arguments

    Type IntentOptional Attributes Name
    class(doe_model), intent(in) :: mdl

    The model to evaluate.

    real(kind=real64), intent(in), dimension(:,:) :: x

    The M-by-N matrix containing the M values of each of the N factors at which to evaluate the model.

    Return Value real(kind=real64), allocatable, dimension(:)

    The resulting M-element array.


Functions

public function doe_fit_model(nway, x, y, map, alpha) result(rst)

Fits a Taylor series model to the provided data.

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: nway

The number of interaction levels.

real(kind=real64), intent(in), dimension(:,:) :: x

The M-by-N matrix containing the M values of each of the N factors used to produce the results.

real(kind=real64), intent(in), dimension(:) :: y

An M-element array containing the results from the M experiments.

logical, intent(in), optional, target, dimension(:) :: map

An optional array of the same size as beta that can be used to eliminate a parameter from the model (false), or keep a parameter in the model (true). If not supplied, all parameters will be assumed to be part of the model as if the array were filled with all true values.

real(kind=real64), intent(in), optional :: alpha

The significance level at which to evaluate the confidence intervals. The default value is 0.05 such that a 95% confidence interval is calculated.

Return Value type(doe_model)

The resulting model.

public function doe_model_covariance(mdl, x) result(rst)

Computes the unscaled parameter covariance matrix for a model, where is the design matrix constructed from the supplied factor values. Only the parameters included in the model (map = true) are represented.

Arguments

Type IntentOptional Attributes Name
class(doe_model), intent(in) :: mdl

The DOE model defining the form of the design matrix.

real(kind=real64), intent(in), dimension(:,:) :: x

The M-by-N matrix containing the M values of each of the N factors used to fit the model.

Return Value real(kind=real64), allocatable, dimension(:,:)

The P-by-P covariance matrix, where P is the number of parameters included in the model.


Subroutines

public subroutine doe_design_terms(mdl, x, terms)

Evaluates the model terms (columns of the design matrix) included in a model at each of the supplied factor values.

Arguments

Type IntentOptional Attributes Name
class(doe_model), intent(in) :: mdl

The DOE model defining the terms.

real(kind=real64), intent(in), dimension(:,:) :: x

The M-by-N matrix containing the M values of each of the N factors.

real(kind=real64), intent(out), dimension(:,:) :: terms

The M-by-P matrix, where P is the number of parameters included in the model, that will contain the terms.